package com.ktg.mes.md.domain;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
import java.math.BigDecimal;

import java.math.BigDecimal;
import java.util.List;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ktg.common.annotation.Excel;
import com.ktg.common.core.domain.BaseEntity;


/**
 * 销售订单对象 mes_scales_order
 * 
 * @author byteco
 * @date 2022-09-01
 */

@Data
@Accessors(chain = true)
@TableName("mes_scales_order")
public class MesScalesOrder extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 销售订单ID */
    @TableId(value = "scales_order_id", type = IdType.ASSIGN_ID)
    private String scalesOrderId;


    /** 销售订单编码 */
    @Excel(name = "销售订单编码")
    private String scalesOrderCode;


    /** 销售订单名称 */
    @Excel(name = "销售订单名称")
    private String scalesOrderName;


    /** 客户ID */
    @Excel(name = "客户ID")
    private String clientId;


    /** 客户编码 */
    @Excel(name = "客户编码")
    private String clientCode;


    /** 客户名称 */
    @Excel(name = "客户名称")
    private String clientName;


    /** 单据状态 */
    @Excel(name = "单据状态")
    private String billStatus;


    /** 状态 */
    @Excel(name = "状态")
    private String orderStatus;


    /** 期待日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "期待日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date requestDate;


    /** 金额 */
    @Excel(name = "金额")
    private BigDecimal deposit;


    /** 说明 */
    @Excel(name = "说明")
    private String explainDes;


    /** 业务员 */
    @Excel(name = "业务员")
    private String salesman;


    /** 预留字段1 */
    @Excel(name = "预留字段1")
    private String attr1;


    /** 预留字段2 */
    @Excel(name = "预留字段2")
    private String attr2;


    /** 预留字段3 */
    @Excel(name = "预留字段3")
    private Long attr3;


    /** 预留字段4 */
    @Excel(name = "预留字段4")
    private Long attr4;



    /** 销售订单产品信息 */
    @TableField(exist = false)
    private List<MesScalesOrderItem> mesScalesOrderItemList;


    @TableField("data_source")
    private String dataSource;


}
